/**
 * 把wx.request封装成promise
 * @param {*} params wx.request支持的参数
 * @returns Promise
 */
// function request(params){
//   return new Promise((resolve, reject)=>{
//     wx.request({
//       header: {
//         'content-type': 'application/json' // 默认值
//       },
//       ...params,
//       success (res) {
//         resolve(res.data)
//       },
//       fail (err){
//         reject(err)
//       }
//     })
//   })
// }
import { getToken } from ".";
const Fly = require("flyio/dist/npm/wx")
const fly = new Fly

//定义公共headers
// fly.config.headers={xx:5,bb:6,dd:7}
//设置超时
fly.config.timeout = 10000;
//设置请求基地址
fly.config.baseURL = "https://bjwz.bwie.com/mall4j"
//设置公共的Get参数
// fly.config.params={"token":"testtoken"};

//添加请求拦截器
fly.interceptors.request.use((request) => {
  let Authorization = getToken();
  if (Authorization) {
    //给所有请求添加自定义header
    request.headers["Authorization"] = `bearer${Authorization}`;
  }

  //打印出请求体
  console.log(request.body)
  //终止请求
  //var err=new Error("xxx")
  //err.request=request
  //return Promise.reject(new Error(""))

  //可以显式返回request, 也可以不返回，没有返回值时拦截器中默认返回request
  return request;
})

//添加响应拦截器，响应拦截器会在then/catch处理之前执行
fly.interceptors.response.use(
  (response) => {
    console.log(response,'response....')
    //只将请求结果的data字段返回
    return response.data;
  },
  (err) => {
    //发生网络错误后会走到这里
    //return Promise.resolve("ssss")
    console.log(err, 'err');
    if (err.response.status !== 200) {
      uni.showToast({
        title: err.response.data,
        icon:'none',
        duration: 850
      });
    }

  }
)

export default fly;